<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    
<meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>


<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />

<meta name="theme-color" content="#f8f5ec" />
<meta name="msapplication-navbutton-color" content="#f8f5ec">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="#f8f5ec">



  <meta name="description" content="如何使用C#写个多简单文档编辑器"/>




  <meta name="keywords" content="C#, 八一" />



  <meta name="baidu-site-verification" content="HhUstaSjr0" />



  <meta name="google-site-verification" content="UA-102975942-1" />






  <link rel="alternate" href="/atom.xml" title="八一">




  <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=2.6.0" />



<link rel="canonical" href="https://bay1.top/2017/12/24/如何使用C-写个多简单文档编辑器/"/>


<link rel="stylesheet" type="text/css" href="/css/style.css?v=2.6.0" />
<link rel="stylesheet" type="text/css" href="/css/prettify.css" media="screen" />
<link rel="stylesheet" type="text/css" href="/css/sons-of-obsidian.css" media="screen" />



  <link rel="stylesheet" type="text/css" href="/lib/fancybox/jquery.fancybox.css" />




  
  <script id="baidu_analytics">
    var _hmt = _hmt || [];
    (function() {
      var hm = document.createElement("script");
      hm.src = "https://hm.baidu.com/hm.js?9a885cc9fb6cd7bcef579deb8efe8a70";
      var s = document.getElementsByTagName("script")[0];
      s.parentNode.insertBefore(hm, s);
    })();
  </script>



  <script id="google_analytics">
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

        ga('create', 'UA-102975942-1', 'auto');
        ga('send', 'pageview');
  </script>










    <title> 如何使用C#写个多简单文档编辑器 - 八一 </title>
  </head>

  <body><div id="mobile-navbar" class="mobile-navbar">
  <div class="mobile-header-logo">
    <a href="/." class="logo">八一</a>
  </div>
  <div class="mobile-navbar-icon">
    <span></span>
    <span></span>
    <span></span>
  </div>
</div>

<nav id="mobile-menu" class="mobile-menu slideout-menu">
  <ul class="mobile-menu-list">
    
      <a href="/archives">
        <li class="mobile-menu-item">
          
          
            文章
          
        </li>
      </a>
    
      <a href="/tags">
        <li class="mobile-menu-item">
          
          
            标签
          
        </li>
      </a>
    
      <a href="/about">
        <li class="mobile-menu-item">
          
          
            关于/友链
          
        </li>
      </a>
    
      <a href="/search">
        <li class="mobile-menu-item">
          
          
            站内搜索
          
        </li>
      </a>
    
  </ul>
</nav>

    <div class="container" id="mobile-panel">
      <header id="header" class="header"><div class="logo-wrapper">
  <a href="/." class="logo">八一</a>
</div>

<nav class="site-navbar">
  
    <ul id="menu" class="menu">
      
        <li class="menu-item">
          <a class="menu-item-link" href="/archives">
            
            
              文章
            
          </a>
        </li>
      
        <li class="menu-item">
          <a class="menu-item-link" href="/tags">
            
            
              标签
            
          </a>
        </li>
      
        <li class="menu-item">
          <a class="menu-item-link" href="/about">
            
            
              关于/友链
            
          </a>
        </li>
      
        <li class="menu-item">
          <a class="menu-item-link" href="/search">
            
            
              站内搜索
            
          </a>
        </li>
      
    </ul>
  
</nav>

      </header>

      <main id="main" class="main">
        <div class="content-wrapper">
          <div id="content" class="content">
            
  
  <article class="post">
    <header class="post-header">
      <h1 class="post-title">
        
          如何使用C#写个多简单文档编辑器
        
      </h1>

      <div class="post-meta">
        <span class="post-time">
          2017-12-24
        </span>
        
        
        
      </div>
    </header>

    
    
  <div class="post-toc" id="post-toc">
    <h2 class="post-toc-title">文章目录</h2>
    <div class="post-toc-content">
      <ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#窗口设计"><span class="toc-text">窗口设计</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#如何再添加窗口"><span class="toc-text">如何再添加窗口</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#实现子窗口右键"><span class="toc-text">实现子窗口右键</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#主窗口各函数"><span class="toc-text">主窗口各函数</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#搜索窗口各函数"><span class="toc-text">搜索窗口各函数</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#子窗口各函数"><span class="toc-text">子窗口各函数</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#设计页面偶然关闭"><span class="toc-text">设计页面偶然关闭</span></a></li></ol>
    </div>
  </div>


    <div class="post-content">
      
        <p>在某个瞬间看了眼同学买的程序设计指导书,感觉应该使用学校里普遍使用的C#写个东西了…….<br>那就是第二个上机实践吧<a id="more"></a><br><a href="https://github.com/bayi27/Integrated-practice-of-programming-/tree/master/%E5%A4%9A%E6%96%87%E6%A1%A3%E7%BC%96%E8%BE%91%E5%99%A8" target="_blank" rel="noopener">源代码</a></p>
<blockquote>
<p>说实话,用C#完全没经验,不过还是硬着头皮做了下去<br>(实际是为了继续装好这次逼……<br>吐槽一下,我为什么感觉单文档编辑器比多文档编辑器好看多了………<br>(好吧,可能是我不会窗口样式的改装…</p>
</blockquote>
<p>由于这个课程似乎在每个高校都很普遍,不会C#第一想到的肯定是搜搜相关的知识<br>发现网上有各种现成的示例……………..不过我还是尽量的搞了一个我自己的<br>(一些代码实在不会,就”借鉴”了网上的一些,不过还是学到一些东西<br>一直认为学习别人的代码也是一种高效率的方式,可能别人并不认可这个观点吧</p>
<p>主要的功能如下:</p>
<p><img src="https://s1.ax1x.com/2018/01/01/pSRpXn.png" alt="功能"></p>
<h2 id="窗口设计"><a href="#窗口设计" class="headerlink" title="窗口设计"></a>窗口设计</h2><p>老话:既然是GUI软件,第一步当然是要设计UI界面了<br>对于C#窗体设计,VS2010还是比较方便的,可以直接拖拽各种控件<br>直接设计出你需要的界面,这里需要三个窗口:主窗口,搜索窗口,子窗口(和主窗口差不多)</p>
<p><img src="https://s1.ax1x.com/2018/01/01/pSRLuR.png" alt="主窗口"><br><img src="https://s1.ax1x.com/2018/01/01/pSR8hD.png" alt="搜索窗口"></p>
<blockquote>
<p>对于各种控件属性的改变和调整,就是右侧属性图形化界面里修改<br>多看几遍右侧栏就可以了,其中子窗口添加控件RichTextBox<br>主窗口另外添加下面控件</p>
</blockquote>
<p><img src="https://s1.ax1x.com/2018/01/01/pSROD1.png" alt="控件"></p>
<h3 id="如何再添加窗口"><a href="#如何再添加窗口" class="headerlink" title="如何再添加窗口"></a>如何再添加窗口</h3><p>点击项目-&gt;添加Windows窗体</p>
<h3 id="实现子窗口右键"><a href="#实现子窗口右键" class="headerlink" title="实现子窗口右键"></a>实现子窗口右键</h3><blockquote>
<p>在子窗口里面添加ContextMenuStrip控件,并设置RichTextBox<br>属性ContextMenuStrip为你设置的ContextMenuStrip控件名</p>
</blockquote>
<p><img src="https://s1.ax1x.com/2018/01/01/pSRkkT.png" alt="右键"></p>
<h2 id="主窗口各函数"><a href="#主窗口各函数" class="headerlink" title="主窗口各函数"></a>主窗口各函数</h2><blockquote>
<p>首先了解下C#中get{}set{}<br>简单来说就是我们封装的某些类中会有外界不可访问的属性<br>而这段代码就是打开外界对某些私有属性的访问权限<br>(具体的解释可以看文末的参考文章</p>
</blockquote>
<p>自动换行,字体,颜色,时间日期,全选,页面设置,打印,窗口样式<br>这几个功能都是对于函数的一两句代码的应用,具体可以参考源代码</p>
<blockquote>
<p>文本Type的获取<br><a href="https://zhidao.baidu.com/question/579948673.html" target="_blank" rel="noopener">VB中通用对话框Filterindex属性值为0,1,2,3时分别表示什么意思</a></p>
</blockquote>
<figure class="highlight cpp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><span class="line">...</span><br><span class="line"></span><br><span class="line">RichTextBoxStreamType fileType = TrunFileType(openFileDialog.FilterIndex);</span><br><span class="line"></span><br><span class="line">...</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> RichTextBoxStreamType <span class="title">TrunFileType</span><span class="params">(<span class="keyword">int</span> i)</span>   <span class="comment">//数据转换</span></span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">	RichTextBoxStreamType fileType;</span><br><span class="line">	<span class="keyword">switch</span> (i)</span><br><span class="line">	&#123;</span><br><span class="line">		<span class="keyword">case</span> <span class="number">1</span>: fileType = RichTextBoxStreamType.PlainText;</span><br><span class="line">			<span class="keyword">break</span>;</span><br><span class="line">        <span class="keyword">case</span> <span class="number">2</span>: fileType = RichTextBoxStreamType.RichText;</span><br><span class="line">            <span class="keyword">break</span>;</span><br><span class="line">        <span class="keyword">default</span>: fileType = RichTextBoxStreamType.UnicodePlainText;</span><br><span class="line">            <span class="keyword">break</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">return</span> fileType;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">...</span><br></pre></td></tr></table></figure>
<blockquote>
<p>保存文件的实现</p>
</blockquote>
<figure class="highlight cs"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">private</span> <span class="keyword">void</span> 保存SCtrlSToolStripMenuItem_Click(<span class="keyword">object</span> sender, EventArgs e)</span><br><span class="line">        &#123;</span><br><span class="line">            FormChild df = (FormChild)<span class="keyword">this</span>.ActiveMdiChild; <span class="comment">//获取子窗口的活动状态</span></span><br><span class="line">            <span class="keyword">if</span> (df.GetFilePath() == <span class="string">""</span>)</span><br><span class="line">            &#123;</span><br><span class="line">            	SaveFile(df);</span><br><span class="line">            &#125;</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">...</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">SaveFile</span>(<span class="params">FormChild df</span>)                    <span class="comment">//保存文件</span></span></span><br><span class="line"><span class="function">        </span>&#123;</span><br><span class="line">        	...</span><br><span class="line">        	RichTextBoxStreamType fileType = TrunFileType(sfd.FilterIndex);</span><br><span class="line">        	file.SetFileTypeIndex(sfd.FilterIndex);</span><br><span class="line">        	file.SetFilePath(saveFileDialog.InitialDirectory);</span><br><span class="line">        	df.Sourse.SaveFile(sfd.FileName, fileType);</span><br><span class="line">        	df.SetFilePath(sfd.FileName);</span><br><span class="line">            oldFile = fileType;</span><br><span class="line">            ...</span><br><span class="line">        &#125;</span><br></pre></td></tr></table></figure>
<blockquote>
<p>新建窗口</p>
</blockquote>
<figure class="highlight gradle"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">private</span> <span class="keyword">void</span> 新建NCtrlNToolStripMenuItem_Click(object sender, EventArgs e)</span><br><span class="line">&#123;</span><br><span class="line">	<span class="keyword">file</span> = <span class="keyword">new</span> FormChild();<span class="comment">//新建一个子窗体</span></span><br><span class="line">    <span class="keyword">file</span>.MdiParent = <span class="keyword">this</span>; <span class="comment">//定义此窗体的父窗体，使之成为MDI窗体</span></span><br><span class="line">    ++ChildFormCount;</span><br><span class="line">    <span class="keyword">file</span>.Text = <span class="string">"子窗体"</span> + ChildFormCount.ToString(); <span class="comment">//命名</span></span><br><span class="line">    <span class="keyword">file</span>.Show();</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>
<h2 id="搜索窗口各函数"><a href="#搜索窗口各函数" class="headerlink" title="搜索窗口各函数"></a>搜索窗口各函数</h2><blockquote>
<p>查找,替换函数</p>
</blockquote>
<figure class="highlight csharp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><span class="line">...</span><br><span class="line"></span><br><span class="line"><span class="comment">//查找</span></span><br><span class="line"><span class="keyword">if</span> (file.Sourse.Text.Contains(str))</span><br><span class="line">&#123;</span><br><span class="line">	index = file.Sourse.Find(str, index, RichTextBoxFinds.None);</span><br><span class="line">	file.Sourse.Select(index, str.Length); </span><br><span class="line">    file.Sourse.Focus(); <span class="comment">//焦点获取</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">...</span><br><span class="line"></span><br><span class="line"><span class="comment">//替换</span></span><br><span class="line"><span class="keyword">if</span> (file.Sourse.Text.Contains(strOld))</span><br><span class="line">&#123;</span><br><span class="line">	Clipboard.Clear(); <span class="comment">//清空剪切板</span></span><br><span class="line">	count = file.Sourse.Find(strOld, index, RichTextBoxFinds.None);</span><br><span class="line">	file.Sourse.Select(count, str.Length);</span><br><span class="line">	Clipboard.SetText(file.Sourse.SelectedText.Replace(strOld, strNew)); <span class="comment">//设置text</span></span><br><span class="line">	file.Sourse.Paste();</span><br><span class="line">&#125;</span><br><span class="line"><span class="comment">//借用剪切加入要替换成的字符,然后Paste</span></span><br><span class="line"></span><br><span class="line">...</span><br></pre></td></tr></table></figure>
<p>对于寻找下一个,加入一个count,每找一个符合条件的字符串,计数加一</p>
<h2 id="子窗口各函数"><a href="#子窗口各函数" class="headerlink" title="子窗口各函数"></a>子窗口各函数</h2><blockquote>
<p>复制,粘贴,撤销等</p>
</blockquote>
<figure class="highlight csharp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">//复制  </span></span><br><span class="line"><span class="keyword">public</span> <span class="keyword">void</span> 复制ToolStripMenuItem_Click(<span class="keyword">object</span> sender, EventArgs e)</span><br><span class="line">&#123;</span><br><span class="line">	<span class="keyword">this</span>.richTextBox.Copy();</span><br><span class="line">&#125;</span><br><span class="line"><span class="comment">//粘贴  </span></span><br><span class="line"><span class="keyword">this</span>.richTextBox.Paste();</span><br><span class="line"><span class="comment">//剪贴  </span></span><br><span class="line"><span class="keyword">this</span>.richTextBox.Cut();</span><br><span class="line"><span class="comment">//撤消 </span></span><br><span class="line"><span class="keyword">this</span>.richTextBox.Undo();</span><br><span class="line"><span class="comment">//删除</span></span><br><span class="line"><span class="keyword">this</span>.richTextBox.SelectedText = <span class="string">""</span>;</span><br></pre></td></tr></table></figure>
<blockquote>
<p>设置RichTextBox控件数据的输入流和输出流的类型</p>
</blockquote>
<figure class="highlight csharp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">SetFileTypeIndex</span>(<span class="params"><span class="keyword">int</span> i</span>)</span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">    _index = i;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">void</span> <span class="title">SetFilePath</span>(<span class="params"><span class="keyword">string</span> <span class="keyword">value</span></span>)</span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">	_filePath = <span class="keyword">value</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="title">FormChild</span>(<span class="params">RichTextBoxStreamType fileType, <span class="keyword">string</span> filePath,<span class="keyword">int</span> i</span>)</span></span><br><span class="line"><span class="function"></span>&#123;</span><br><span class="line">	InitializeComponent();</span><br><span class="line">    <span class="keyword">this</span>.SetFilePath(filePath);</span><br><span class="line">    <span class="keyword">this</span>.richTextBox.LoadFile(filePath, fileType);</span><br><span class="line">    <span class="keyword">this</span>.SetFileTypeIndex(i);</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>
<h2 id="设计页面偶然关闭"><a href="#设计页面偶然关闭" class="headerlink" title="设计页面偶然关闭"></a>设计页面偶然关闭</h2><p>中间有次遇到偶然间关闭了可视化设计页面<br>只剩下了.cs文件,如何重新生成呢</p>
<blockquote>
<p>只需要点击视图-&gt;解决方案资源管理器-&gt;双击你需要转换的cs文件就行了</p>
</blockquote>
<p><img src="https://s1.ax1x.com/2018/01/01/pS2o6A.png" alt="效果"></p>
<p>参考：<a href="http://blog.csdn.net/u013816709/article/details/40144229" target="_blank" rel="noopener">RichTextBox右键显示ContextMenuTrip</a><br><a href="http://www.jb51.net/article/37960.htm" target="_blank" rel="noopener">深入C#中get与set的详解</a><br>(还有部分忘记记录网址了,不过还是要感谢一下他们的经验分享</p>

      
    </div>

    
      
      



      
      
    

    
      <footer class="post-footer">
        
          <div class="post-tags">
            
              <a href="/tags/C/">C#</a>
            
          </div>
        
        
        
  <nav class="post-nav">
    
      <a class="prev" href="/2017/12/30/网址及错误解决收藏/">
        <i class="iconfont icon-left"></i>
        <span class="prev-text nav-default">网址及错误解决收藏</span>
        <span class="prev-text nav-mobile">上一篇</span>
      </a>
    
    
      <a class="next" href="/2017/12/14/如何用PyQt写个通讯录/">
        <span class="next-text nav-default">如何用PyQt5写个通讯录</span>
        <span class="prev-text nav-mobile">下一篇</span>
        <i class="iconfont icon-right"></i>
      </a>
    
  </nav>

      </footer>
    

  </article>


          </div>
          
  <div class="comments" id="comments">
      <div id="disqus_thread">
        <noscript>
          Please enable JavaScript to view the
          <a href="//disqus.com/?ref_noscript">comments powered by Disqus.</a>
        </noscript>
      </div> 
    </div>
  </div>


        </div>
      </main>

      <footer id="footer" class="footer">

  <div class="social-links">
    
      
        
          <a href="https://github.com/bay1" class="iconfont icon-github" title="github"></a>
        
      
    
      
        
          <a href="http://weibo.com/3190704711/profile?topnav=1&wvr=6&is_all=1" class="iconfont icon-weibo" title="weibo"></a>
        
      
    
      
    
      
    
      
    
    
    
  </div>


<div class="copyright">
  <span class="copyright-year">
    
    &copy; 
     
      2016 - 
    
    2018
    <span class="author">bay1</span>
  </span>
</div>
      </footer>

      <div class="back-to-top" id="back-to-top">
        <i class="iconfont icon-up"></i>
      </div>
    </div>

    
  
  <script type="text/javascript">
    var disqus_config = function () {
        this.page.url = 'https://bay1.top/2017/12/24/如何使用C-写个多简单文档编辑器/';
        this.page.identifier = '2017/12/24/如何使用C-写个多简单文档编辑器/';
        this.page.title = '如何使用C#写个多简单文档编辑器';
    };
    (function() {
    var d = document, s = d.createElement('script');

    s.src = '//https-blog-flywinky-top-1.disqus.com/embed.js';

    s.setAttribute('data-timestamp', +new Date());
    (d.head || d.body).appendChild(s);
    })();  
  </script>



    
  





  
    <script type="text/javascript" src="/lib/jquery/jquery-3.1.1.min.js"></script>
  

  
    <script type="text/javascript" src="/lib/slideout/slideout.js"></script>
  

  
    <script type="text/javascript" src="/lib/fancybox/jquery.fancybox.pack.js"></script>
  


    <script type="text/javascript" src="/js/src/even.js?v=2.6.0"></script>
<script type="text/javascript" src="/js/src/bootstrap.js?v=2.6.0"></script>
<script src="/js/prettify.js"></script>
<script type="text/javascript">
$(document).ready(function(){
 $('pre').addClass('prettyprint');
   prettyPrint();
 })
</script>
  </body>
</html>
